//
//  JGKeyboardController.h
//  JGInputDriver
//
//  Created by jagger.tu on 2025/3/26.
//

#if TARGET_OS_IOS

#import <Foundation/Foundation.h>
#import <JGInputDriver/JGWinKeyboardView.h>
#import <JGInputDriver/JGInputTextView.h>
#import <JGInputDriver/JGLocalKeyboardView.h>

NS_ASSUME_NONNULL_BEGIN

/// 键盘控制类型
typedef NS_ENUM(NSInteger,JGKeyboardStyle){
    /// 不使用键盘
    JGKeyboardStyleDisabled = 0,
    /// 虚拟windows 键盘
    JGKeyboardStyleWindows = 1,
    /// 本地键盘
    JGKeyboardStyleLocal = 2,
    /// 本地输入框
    JGKeyboardStyleTextField = 3
};


@interface JGKeyboardController : NSObject

@property (nonatomic,assign) JGKeyboardStyle keyboardStyle;

+ (instancetype)defaultInstance;

/// 安装键盘
- (void)installKeyboard;
/// 取消安装键盘
- (void)uninstallKeyboard;
/// 隐藏或显示键盘
- (void)setKeyboardHidden:(BOOL)bHidden;
/// 隐藏或显示键盘同时附带内容
- (void)setKeyboardHidden:(BOOL)bHidden content:(NSString *)content;
/// 自动显示或隐藏当前键盘. 如果当前键盘是隐藏的就显示,如果是显示的就隐藏
- (void)autoShowOrHiddenKeyboard;


@end

NS_ASSUME_NONNULL_END

#endif
